<?php
/**
 * Created by PhpStorm.
 * User: ownfi
 * Date: 2017-03-13
 * Time: 19:44
 */

namespace App\Services;


interface ISystemService
{

    /**
     * 生成唯一订单号
     * @return mixed
     */
    public function genOrderNumber();

    /**
     * 生成交易流水号
     * @return mixed
     */
    public function genTradeNumber();

    /**
     * 生成系统内部流程唯一订单号
     * @return mixed
     */
    public function genInsideOrderNumber();

    /**
     * 生成优惠券号
     * @return mixed
     */
    public function genCouponNumber();

    /**
     * 在下一个页面中前端显示成功提示
     * @param $message
     * @return mixed
     */
    public function success($message);

    /**
     * 在下一个页面中前端显示警告提示
     * @param $message
     * @return mixed
     */
    public function alert($message);

    /**
     * 短信日志列表
     * @param array $wheres
     * @return mixed
     */
    public function smsLogList(array $wheres = []);

    /**
     * 从系统钱包余额中扣除额度
     * @param $amount
     * @return mixed
     */
    public function subtractBalance($trade_id,$user_id,$user_type,$amount);

    /**
     * 系统钱包余额增加额度
     * @param $amount
     * @return mixed
     */
    public function raiseBalance($trade_id,$user_id,$user_type,$amount);

    /**
     * 请求一个url地址，返回响应
     * @param $url
     * @param null $data
     * @param string $method
     * @return mixed
     */
    public function requestUrl($url,$data = null, $method = 'GET');

    /**
     * 支付宝日志列表
     * @param array $wheres
     * @return mixed
     */
    public function alipayLogList(array $wheres = []);

    /**
     * 通知事件日志
     * @param array $wheres
     * @return mixed
     */
    public function notifyLogList(array $wheres = []);

    /**
     * banner列表
     * @return mixed
     */
    public function bannerList();

}